package core;

import context.SoiContext;
import model.ChainKey;
import model.SoiNode;
import model.SoiNodeBean;

import java.util.List;

/**
 * @className: SOIContainer
 * @author: ocxz1
 * @date: 2025/3/12 上午10:52
 * @Version: 1.0
 * @description: soi 执行容器
 */
public interface SOIContainer {

    /**
     * 开始编排执行
     * @param chainKey 链路KEY
     * @param soiContext 上下文
     */
    void beginOrchestration(ChainKey chainKey, SoiContext soiContext);

    /**
     * 加载编排节点
     */
    SoiNode loadSoiNode(ChainKey chainKey);

    void register(ChainKey chainKey);

    void register(List<SoiNodeBean> soiNodeBeanList);
}

    
    